Conventional computer display screens typically are oriented in a landscape format in which the screen image is wider than it is tall. While this format is convenient for many computer applications, it is inconvenient for others. A computer display screen which is oriented in a landscape format is less desirable for viewing an image of a typical document which is taller than it is wide. Although conventional landscape computer displays can display an image of a document which is taller than it is wide, they do so by wasting display space on the sides of the image. Given the steep increase in the price of computer displays with larger display areas, this wasted space is not economical.
In order to accommodate computer users who may wish to utilize a single monitor for both landscape and portrait (taller than wide) viewing, rotatable computer displays have been developed. A rotatable computer display can be rotated about an axis that is substantially perpendicular to the plane of the display screen. In order for an image on a rotated computer display to appear upright, however, the attached computer needs to modify the image sent to the computer display. For rotatable computer displays to be useful, a computer must be able to change the orientation of the image transmitted to the display to compensate for rotation of the display.
The ability to alter the orientation of an image sent to a computer display is also advantageous in circumstances other than rotatable displays. For example, if the display is a flat panel display which is lying on a table, it may be viewed by people at the table from many different directions. By changing the orientation of an image on the display, more people at the table may be accommodated in viewing an image.
Conventionally, a computer facilitates display image orientations with a number of orientation modes, each of which corresponds to a particular orientation of the image to be displayed, and the operating system keeps track of the current orientation mode. The mode might be set by a user through a standard user interface dialog box, or it could be set by the operating system in response to a sensor on the computer monitor indicating the current rotation of the monitor. The computer typically uses a software switch to invoke program code specific to the current orientation mode. The program code invoked modifies image information before putting it into a display memory in such a way as to produce the desired orientation of the image on the computer display. The code used to effect the orientation of an image in one mode is not used to effect the orientation of an image in another mode.
Because each orientation mode is associated with code which is specialized for that mode, the software becomes larger with an increased number of available modes. Larger code takes up more useful space on computers, and is generally more difficult to maintain, so the number of modes accommodated by conventional computer systems is often limited to a few orientation modes.
What is needed is a computer system which can accommodate different orientation modes by using the same code to transfer and modify image information for each mode. This would result in a reduction of code required, and would allow more orientation modes to be accommodated.